68
I have a hierarchy and I need to filter only root items that match, with thier childs

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exLinesAtRoot);
spComboBox1->PutFilterInclude(EXCOMBOBOXLib::exRootsWithChilds);
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Column")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXCOMBOBOXLib::exFilter);
	var_Column->PutFilter(L"R1");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,vtMissing,"C1");
	var_Items->InsertItem(h,vtMissing,"C2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,vtMissing,"C1");
	var_Items->InsertItem(h,vtMissing,"C2");
spComboBox1->ApplyFilter();

66
I have a hierarchy and I need to filter only parent items that match, including thier childs

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exLinesAtRoot);
spComboBox1->PutFilterInclude(EXCOMBOBOXLib::exItemsWithChilds);
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Column")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXCOMBOBOXLib::exFilter);
	var_Column->PutFilter(L"R1");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,vtMissing,"C1");
	var_Items->InsertItem(h,vtMissing,"C2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,vtMissing,"C1");
	var_Items->InsertItem(h,vtMissing,"C2");
spComboBox1->ApplyFilter();

558
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}");
spComboBox1->PutHeaderAppearance(EXCOMBOBOXLib::Etched);
spComboBox1->PutDrawGridLines(EXCOMBOBOXLib::exAllLines);
spComboBox1->PutGridLineStyle(EXCOMBOBOXLib::exGridLinesVSolid);
EXCOMBOBOXLib::IColumnsPtr var_Columns = spComboBox1->GetColumns();
	var_Columns->Add(L"Item");
	EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(var_Columns->Add(L"Pos")));
		var_Column->PutPosition(0);
		var_Column->PutWidth(32);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutFormatColumn(L"1 index ``");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spComboBox1->EndUpdate();

472
I cannot seem to get autosearch=1 (contains) in the column object to search properly. It still only finds items that start with the typed character. I want to it look to see if the typed character(s) are contained in the item. I Can't seem to get this to work

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutStyle(EXCOMBOBOXLib::DropDownList);
spComboBox1->PutHeaderVisible(VARIANT_FALSE);
spComboBox1->PutAutoSearch(VARIANT_TRUE);
spComboBox1->PutAutoDropDown(VARIANT_TRUE);
spComboBox1->PutIntegralHeight(VARIANT_TRUE);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Default")))->PutAutoSearch(EXCOMBOBOXLib::exContains);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("This is a bit of text");
	var_Items->AddItem("This is a another text");
spComboBox1->EndUpdate();

94
I can't scroll to the end of the data. What can I do

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutScrollBySingleLine(VARIANT_TRUE);
spComboBox1->PutDrawGridLines(EXCOMBOBOXLib::exRowLines);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutItemHeight(var_Items->AddItem(long(0)),13);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutItemHeight(var_Items1->AddItem(long(1)),26);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
EXCOMBOBOXLib::IItemsPtr var_Items2 = spComboBox1->GetItems();
	var_Items2->PutItemHeight(var_Items2->AddItem(long(2)),36);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
EXCOMBOBOXLib::IItemsPtr var_Items3 = spComboBox1->GetItems();
	var_Items3->PutItemHeight(var_Items3->AddItem(long(3)),48);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);

469
I am using the ScrollWidth/ScrollHeight property on 0 to hide the control's scroll bars, the question is that the drop down button is disappearing. What can be done so I can still show the drop down button

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutLabelHeight(40);
spComboBox1->PutScrollWidth(0);
spComboBox1->PutScrollHeight(0);
spComboBox1->PutDropDownButtonWidth(40);
spComboBox1->EndUpdate();

514
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spComboBox1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spComboBox1->GetFont()))));
spComboBox1->PutFilterBarCaption(L"`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value");
spComboBox1->PutFilterBarPromptPattern(L"B");
spComboBox1->PutFilterBarPromptVisible(EXCOMBOBOXLib::FilterBarVisibleEnum(EXCOMBOBOXLib::exFilterBarCompact | EXCOMBOBOXLib::exFilterBarSingleLine | EXCOMBOBOXLib::exFilterBarVisible | EXCOMBOBOXLib::exFilterBarPromptVisible));
EXCOMBOBOXLib::IColumnPtr var_Column1 = spComboBox1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXCOMBOBOXLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spComboBox1->ApplyFilter();
spComboBox1->EndUpdate();

550
I am calling Value to change the selected value, but the selection is not visible, unless I scroll to it

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutColumnAutoResize(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExComboBox\\Sample\\Access\\sample.accdb",ADODB::adOpenKeyset,ADODB::adLockReadOnly,0);
spComboBox1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spComboBox1->PutValue(long(10311));
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->EnsureVisibleItem(var_Items->GetFocusItem());
spComboBox1->EndUpdate();

146
I've seen that you can change the visual appearance for the scroll bar. How can I do that

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spComboBox1->GetVisualAppearance()->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spComboBox1->GetVisualAppearance()->Add(3,"c:\\exontrol\\images\\hot.ebn");
spComboBox1->PutBackground(EXCOMBOBOXLib::exSBtn,0x1000000);
spComboBox1->PutBackground(EXCOMBOBOXLib::exSBtnP,0x2000000);
spComboBox1->PutBackground(EXCOMBOBOXLib::exSBtnH,0x3000000);
spComboBox1->PutBackground(EXCOMBOBOXLib::exHSBack,RGB(240,240,240));
spComboBox1->PutBackground(EXCOMBOBOXLib::exVSBack,RGB(240,240,240));
spComboBox1->PutBackground(EXCOMBOBOXLib::BackgroundPartEnum(EXCOMBOBOXLib::exScrollHoverAll | EXCOMBOBOXLib::exDateScrollThumb),RGB(240,240,240));
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"S")))->PutWidth(32);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Level 1")))->PutLevelKey(long(1));
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Level 2")))->PutLevelKey(long(1));
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Level 3")))->PutLevelKey(long(1));
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"E1")))->PutWidth(32);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"E2")))->PutWidth(32);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"E3")))->PutWidth(32);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"E4")))->PutWidth(32);
spComboBox1->PutColumnAutoResize(VARIANT_FALSE);

119
I've seen that the width of the tooltip is variable. Can I make it larger

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutToolTipWidth(328);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip that should be very very very very very very very long");

2
I've added a single column, but it is displayed only on a part of the control. Is there something I can do so the column will be fully displayed on the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"ColumnName");
spComboBox1->GetItems()->AddItem("Item 1");
spComboBox1->GetItems()->AddItem("Item 2");

473
How would you clear the displayed selection for style DropDownList. So if a user selects or searches a value in a style DropDownList, I want to know if I can reset the control back to an empty selection

// DropUp event - Occurs when the drop-down portion of the control is hidden.
void OnDropUpComboBox1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'
		#import <ExComboBox.dll>
		using namespace EXCOMBOBOXLib;
	*/
	EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
	spComboBox1->PutValue("");
}

// SelectionChanged event - Fired after a new item has been selected.
void OnSelectionChangedComboBox1()
{
	EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
	OutputDebugStringW( L"You selected: " );
	OutputDebugStringW( _bstr_t(spComboBox1->GetValue()) );
}

EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutStyle(EXCOMBOBOXLib::DropDownList);
spComboBox1->PutHeaderVisible(VARIANT_FALSE);
spComboBox1->PutAutoSearch(VARIANT_TRUE);
spComboBox1->PutAutoDropDown(VARIANT_TRUE);
spComboBox1->PutIntegralHeight(VARIANT_TRUE);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Default")))->PutAutoSearch(EXCOMBOBOXLib::exContains);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("This is a bit of text");
	var_Items->AddItem("This is a another text");
	var_Items->PutDefaultItem(var_Items->InsertItem(vtMissing,vtMissing,""));
	var_Items->PutItemPosition(0,0);
	var_Items->PutSortableItem(0,VARIANT_FALSE);
spComboBox1->EndUpdate();

560
How I can programmatically select a row (with regular combobox I can set the ListIndex right up to Listcount -1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->PutSelectItem(var_Items->GetItemByIndex(1),VARIANT_TRUE);
spComboBox1->EndUpdate();

561
How I can programmatically select a row (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
spComboBox1->PutValue("Item 2");
spComboBox1->EndUpdate();

88
How do lock / fix some columns to the control, so I can see them all the time, event if I scroll the columns

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutCountLockedColumns(1);
spComboBox1->PutBackColorLock(RGB(240,240,240));
spComboBox1->PutColumnAutoResize(VARIANT_FALSE);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Locked")))->PutWidth(128);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Un-Locked 1")))->PutWidth(128);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Un-Locked 2")))->PutWidth(128);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Un-Locked 3")))->PutWidth(128);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("locked"),long(1),"unlocked");

299
How do I vertically align a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutDrawGridLines(EXCOMBOBOXLib::exRowLines);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"MultipleLine")))->PutDef(EXCOMBOBOXLib::exCellSingleLine,VARIANT_FALSE);
spComboBox1->GetColumns()->Add(L"VAlign");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("This is a bit of long text that should break the line");
	var_Items->PutCellCaption(h,long(1),"top");
	var_Items->PutCellVAlignment(h,long(1),EXCOMBOBOXLib::exTop);
	h = var_Items->AddItem("This is a bit of long text that should break the line");
	var_Items->PutCellCaption(h,long(1),"middle");
	var_Items->PutCellVAlignment(h,long(1),EXCOMBOBOXLib::exMiddle);
	h = var_Items->AddItem("This is a bit of long text that should break the line");
	var_Items->PutCellCaption(h,long(1),"bottom");
	var_Items->PutCellVAlignment(h,long(1),EXCOMBOBOXLib::exBottom);

84
How do I use my own icons for my radio buttons

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spComboBox1->PutRadioImage(VARIANT_FALSE,1);
spComboBox1->PutRadioImage(VARIANT_TRUE,2);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Radio")))->PutDef(EXCOMBOBOXLib::exCellHasRadioButton,VARIANT_TRUE);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Radio 1");
	var_Items->PutCellState(var_Items->AddItem("Radio 2"),long(0),1);
	var_Items->AddItem("Radio 3");

83
How do I use my own icons for checkbox cells

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spComboBox1->PutCheckImage(EXCOMBOBOXLib::Unchecked,1);
spComboBox1->PutCheckImage(EXCOMBOBOXLib::Checked,2);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Check")))->PutDef(EXCOMBOBOXLib::exCellHasCheckBox,VARIANT_TRUE);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Check 1");
	var_Items->PutCellState(var_Items->AddItem("Check 2"),long(0),1);

479
How do I unselect/deselect the item (Simple style)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutStyle(EXCOMBOBOXLib::Simple);
spComboBox1->GetColumns()->Add(L"Def");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 3");
spComboBox1->PutSearchColumnIndex(0);
spComboBox1->PutValue("Item 2");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutSelectItem(var_Items1->GetFocusItem(),VARIANT_FALSE);
spComboBox1->EndUpdate();

478
How do I unselect/deselect the item (DropDownList style)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutStyle(EXCOMBOBOXLib::DropDown);
spComboBox1->GetColumns()->Add(L"Def");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 3");
spComboBox1->PutSearchColumnIndex(0);
spComboBox1->PutValue("Item 2");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutSelectItem(var_Items1->GetFocusItem(),VARIANT_FALSE);
spComboBox1->EndUpdate();

477
How do I unselect/deselect the item (DropDown style)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutStyle(EXCOMBOBOXLib::DropDown);
spComboBox1->GetColumns()->Add(L"Def");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 3");
spComboBox1->PutSearchColumnIndex(0);
spComboBox1->PutValue("Item 2");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutSelectItem(var_Items1->GetFocusItem(),VARIANT_FALSE);
spComboBox1->EndUpdate();

288
How do I unselect an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(h,VARIANT_FALSE);

155
How do I underline the numbers greater than a value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetConditionalFormats()->Add(L"%0 >= 10",vtMissing)->PutUnderline(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Numbers");
spComboBox1->GetItems()->AddItem(long(1));
spComboBox1->GetItems()->AddItem(long(2));
spComboBox1->GetItems()->AddItem(long(10));
spComboBox1->GetItems()->AddItem(long(20));

244
How do I underline an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutItemUnderline(var_Items->AddItem("underline"),VARIANT_TRUE);

245
How do I underline a cell or an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellCaptionFormat(var_Items->AddItem("gets <u>underline</u> only a portion of text"),long(0),EXCOMBOBOXLib::exHTML);

246
How do I underline a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellUnderline(var_Items->AddItem("underline"),long(0),VARIANT_TRUE);

325
How do I turn off the auto complete feature

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutAutoComplete(VARIANT_FALSE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

328
How do I specify the width of the drop down window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutWidthList(vtMissing,100);
spComboBox1->PutAllowSizeGrip(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

327
How do I specify the minimum width of the drop down window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutMinWidthList(100);
spComboBox1->PutAllowSizeGrip(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

329
How do I specify the minimum height of the drop down window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutMinHeightList(100);
spComboBox1->PutAllowSizeGrip(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

92
How do I specify the indentation of the child items relative to their parents

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exGroupLinesAtRoot);
spComboBox1->PutIndent(11);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child");

330
How do I specify the height of the drop down window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutHeightList(vtMissing,400);
spComboBox1->PutMinWidthList(100);
spComboBox1->PutAllowSizeGrip(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

338
How do I specify the height of the control's label

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutLabelHeight(34);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

93
How do I specify the column where the tree lines / hierarchy are shown

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exGroupLinesAtRoot);
spComboBox1->PutTreeColumnIndex(1);
spComboBox1->GetColumns()->Add(L"Column 1");
spComboBox1->GetColumns()->Add(L"Column 2");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1.1");
	var_Items->PutCellCaption(h,long(1),"Root 1.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 1.1"),long(1),"Child 1.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 2.1"),long(1),"Child 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2.1");
	var_Items->PutCellCaption(h,long(1),"Root 2.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 1.1"),long(1),"Child 1.2");

483
How do I sort the index column as numeric

// InsertItem event - Occurs after a new item has been inserted to Items collection.
void OnInsertItemComboBox1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'
		#import <ExComboBox.dll>
		using namespace EXCOMBOBOXLib;
	*/
	EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
	EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
		var_Items->PutCellData(Item,long(1),var_Items->GetItemToIndex(Item));
}

EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutDrawGridLines(EXCOMBOBOXLib::exAllLines);
spComboBox1->PutColumnAutoResize(VARIANT_TRUE);
spComboBox1->PutShowFocusRect(VARIANT_FALSE);
spComboBox1->PutSingleEdit(VARIANT_TRUE);
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Next")));
	var_Column->PutDef(EXCOMBOBOXLib::exCellPaddingLeft,long(4));
	var_Column->PutDef(EXCOMBOBOXLib::exHeaderPaddingLeft,long(4));
EXCOMBOBOXLib::IColumnPtr var_Column1 = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Index")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutWidth(48);
	var_Column1->PutFormatColumn(L"(((0 := (1 index ``)) mod 3) case ( default: ``; 0 : `<r><fgcolor=B0B0B0>`; 1: ``; 2 : `<c><fgcolor=808080>` )) + str(=:0)");
	var_Column1->PutDef(EXCOMBOBOXLib::exCellCaptionFormat,long(1));
	var_Column1->PutSortType(EXCOMBOBOXLib::SortUserData);
	var_Column1->PutPosition(0);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 4");
	var_Items->AddItem("Item 5");
	var_Items->AddItem("Item 6");
	var_Items->AddItem("Item 7");
	var_Items->AddItem("Item 8");
	var_Items->AddItem("Item 9");
	var_Items->AddItem("Item 10");
spComboBox1->EndUpdate();

229
How do I sort the child items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->SortChildren(h,long(0),VARIANT_FALSE);

79
How do I sort descending a column, and put the sorting icon in the column's header

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
spComboBox1->GetColumns()->GetItem(long(0))->PutSortOrder(EXCOMBOBOXLib::SortDescending);

78
How do I sort ascending a column, and put the sorting icon in the column's header

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
spComboBox1->GetColumns()->GetItem(long(0))->PutSortOrder(EXCOMBOBOXLib::SortAscending);

72
How do I sort a column by numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"desc")))->PutSortType(EXCOMBOBOXLib::SortNumeric);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem(long(1));
	var_Items->AddItem(long(5));
	var_Items->AddItem(long(10));
	var_Items->SortChildren(0,long(0),VARIANT_FALSE);

116
How do I show the tooltip quicker

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutToolTipDelay(1);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip assigned to a column");

181
How do I show or hide the sorting icons, but still need sorting

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Sorted")))->PutSortOrder(EXCOMBOBOXLib::SortAscending);
spComboBox1->GetColumns()->GetItem(long(0))->PutDisplaySortIcon(VARIANT_FALSE);

194
How do I show buttons for all cells in the column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Button")));
	var_Column->PutDef(EXCOMBOBOXLib::exCellHasButton,VARIANT_TRUE);
	var_Column->PutDef(EXCOMBOBOXLib::exCellButtonAutoWidth,VARIANT_TRUE);
spComboBox1->GetItems()->AddItem(" Button 1 ");
spComboBox1->GetItems()->AddItem(" Button 2 ");

193
How do I show buttons for all cells in the column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Button")))->PutDef(EXCOMBOBOXLib::exCellHasButton,VARIANT_TRUE);
spComboBox1->GetItems()->AddItem(long(0));
spComboBox1->GetItems()->AddItem(long(1));

109
How do I show alternate rows in different background color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutBackColorAlternate(RGB(240,240,240));
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 4");
	var_Items->AddItem("Item 5");

559
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveComboBox1(short   Button, short   Shift, long   X, long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'
		#import <ExComboBox.dll>
		using namespace EXCOMBOBOXLib;
	*/
	EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
	long i = spComboBox1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( L"i" );
	OutputDebugStringW( _bstr_t(spComboBox1->GetItems()->GetItemData(i)) );
}

EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutItemData(var_Items->AddItem("method 1"),"your extra data of method 1");
	var_Items->InsertItem(0,"your extra data of method 2","method 2");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutDefaultItem(var_Items1->AddItem("method 3"));
	var_Items1->PutItemData(0,"your extra data of method 3");
spComboBox1->EndUpdate();

286
How do I select an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(h,VARIANT_TRUE);

347
How do I select a value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutIntegralHeight(VARIANT_TRUE);
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exGroupLinesAtRoot);
spComboBox1->PutTreeColumnIndex(1);
spComboBox1->GetColumns()->Add(L"Column 1");
spComboBox1->GetColumns()->Add(L"Column 2");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1.1");
	var_Items->PutCellCaption(h,long(1),"Root 1.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 1.1"),long(1),"Child 1.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 2.1"),long(1),"Child 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2.1");
	var_Items->PutCellCaption(h,long(1),"Root 2.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 1.1"),long(1),"Child 1.2");
spComboBox1->PutSelect(long(1),"Root 1.2");

348
How do I select a value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutIntegralHeight(VARIANT_TRUE);
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exGroupLinesAtRoot);
spComboBox1->PutTreeColumnIndex(1);
spComboBox1->GetColumns()->Add(L"Column 1");
spComboBox1->GetColumns()->Add(L"Column 2");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1.1");
	var_Items->PutCellCaption(h,long(1),"Root 1.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 1.1"),long(1),"Child 1.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 2.1"),long(1),"Child 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2.1");
	var_Items->PutCellCaption(h,long(1),"Root 2.2");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Child 1.1"),long(1),"Child 1.2");
spComboBox1->PutValue("Root 1.1");

466
How do I select a NULL/empty value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutStyle(EXCOMBOBOXLib::DropDownList);
spComboBox1->GetColumns()->Add(L"Items");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 4");
	var_Items->PutDefaultItem(var_Items->InsertItem(vtMissing,vtMissing,""));
	var_Items->PutItemPosition(0,0);
	var_Items->PutSortableItem(0,VARIANT_FALSE);
spComboBox1->PutValue("");
spComboBox1->EndUpdate();

114
How do I search case sensitive, using your incremental search feature

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutAutoSearch(VARIANT_TRUE);
spComboBox1->PutASCIILower(L"");
EXCOMBOBOXLib::IColumnsPtr var_Columns = spComboBox1->GetColumns();
	((EXCOMBOBOXLib::IColumnPtr)(var_Columns->Add(L"exStartWith")))->PutAutoSearch(EXCOMBOBOXLib::exStartWith);
	((EXCOMBOBOXLib::IColumnPtr)(var_Columns->Add(L"exContains")))->PutAutoSearch(EXCOMBOBOXLib::exContains);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("text"),long(1),"another text");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutCellCaption(var_Items1->AddItem("text"),long(1),"another text");

262
How do I retrieve the focused item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFocusItem(),VARIANT_TRUE);

345
How do I remove the drop down's border

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutDropDownBorder(EXCOMBOBOXLib::None2);

69
How do I remove the control's border

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutAppearance(EXCOMBOBOXLib::None2);

451
How do I prevent scrolling the control's data after user does the sort

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutEnsureOnSort(VARIANT_FALSE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
spComboBox1->GetColumns()->GetItem(long(0))->PutSortOrder(EXCOMBOBOXLib::SortAscending);

585
How do I prevent changing the cell's state ( check-box state )
// CellStateChanging event - Fired before cell's state is about to be changed.
void OnCellStateChangingComboBox1(long   Cell, long FAR*   NewState)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'
		#import <ExComboBox.dll>
		using namespace EXCOMBOBOXLib;
	*/
	EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
	EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
		NewState = var_Items->GetCellState(vtMissing,Cell);
}

EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exLinesAtRoot);
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"P1")));
	var_Column->PutDef(EXCOMBOBOXLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
EXCOMBOBOXLib::IColumnPtr var_Column1 = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"P2")));
	var_Column1->PutDef(EXCOMBOBOXLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column1->PutPartialCheck(VARIANT_TRUE);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spComboBox1->EndUpdate();

77
How do I perform my own/custom sort, using my extra strings

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"desc")))->PutSortType(EXCOMBOBOXLib::SortUserData);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellData(var_Items->AddItem("A"),long(0),"C");
	var_Items->PutCellData(var_Items->AddItem("B"),long(0),"B");
	var_Items->PutCellData(var_Items->AddItem("C"),long(0),"A");
	var_Items->SortChildren(0,long(0),VARIANT_FALSE);

76
How do I perform my own/custom sort, using my extra numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"desc")))->PutSortType(EXCOMBOBOXLib::SortUserData);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellData(var_Items->AddItem(long(0)),long(0),long(2));
	var_Items->PutCellData(var_Items->AddItem(long(1)),long(0),long(1));
	var_Items->PutCellData(var_Items->AddItem(long(2)),long(0),long(0));
	var_Items->SortChildren(0,long(0),VARIANT_FALSE);

82
How do I perform my own sorting when user clicks the column's header

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutSortOnClick(EXCOMBOBOXLib::exUserSort);
spComboBox1->GetColumns()->Add(L"Column");
spComboBox1->GetItems()->AddItem("Item 1");
spComboBox1->GetItems()->AddItem("Item 2");

334
How do I lock or make read-only the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutLocked(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

331
How do I let user to resize the drop down window, at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutAllowSizeGrip(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

332
How do I let user to resize only the width of the drop down window, at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutAllowSizeGrip(VARIANT_TRUE);
spComboBox1->PutAllowVResize(VARIANT_FALSE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

333
How do I let user to resize only the height of the drop down window, at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutAllowSizeGrip(VARIANT_TRUE);
spComboBox1->PutAllowHResize(VARIANT_FALSE);
spComboBox1->PutMinWidthList(100);
spComboBox1->PutMinHeightList(100);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");

117
How do I let the tooltip being displayed longer

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutToolTipPopDelay(10000);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip assigned to a column");

153
How do I highlight in italic the numbers greater than a value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetConditionalFormats()->Add(L"%0 >= 10",vtMissing)->PutItalic(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Numbers");
spComboBox1->GetItems()->AddItem(long(1));
spComboBox1->GetItems()->AddItem(long(2));
spComboBox1->GetItems()->AddItem(long(10));
spComboBox1->GetItems()->AddItem(long(20));

154
How do I highlight in italic the numbers greater than a value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetConditionalFormats()->Add(L"%0 >= 10",vtMissing)->PutStrikeOut(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Numbers");
spComboBox1->GetItems()->AddItem(long(1));
spComboBox1->GetItems()->AddItem(long(2));
spComboBox1->GetItems()->AddItem(long(10));
spComboBox1->GetItems()->AddItem(long(20));

152
How do I highlight in bold the numbers greater than a value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetConditionalFormats()->Add(L"%0 >= 10",vtMissing)->PutBold(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Numbers");
spComboBox1->GetItems()->AddItem(long(1));
spComboBox1->GetItems()->AddItem(long(2));
spComboBox1->GetItems()->AddItem(long(10));
spComboBox1->GetItems()->AddItem(long(20));

71
How do I hide the control's header bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutHeaderVisible(VARIANT_FALSE);

258
How do I get the parent item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetItemParent(var_Items->GetItemChild(h)),VARIANT_TRUE);

232
How do I get the number or count of items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->AddItem(var_Items1->GetItemCount());

261
How do I get the number or count of child items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->AddItem(var_Items->GetChildCount(h));

339
How do I get the handle of the drop down window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(_bstr_t(spComboBox1->GethWndDropDown()));

263
How do I get the handle of the cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutCellBold(vtMissing,var_Items->GetItemCell(h,long(0)),VARIANT_TRUE);

257
How do I get the first child item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetItemChild(h),VARIANT_TRUE);

486
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXCOMBOBOXLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXCOMBOBOXLib::FilterListEnum(EXCOMBOBOXLib::exShowFocusItem | EXCOMBOBOXLib::exShowCheckBox | EXCOMBOBOXLib::exSortItemsDesc));
EXCOMBOBOXLib::IColumnPtr var_Column1 = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"DateTime")));
	var_Column1->PutSortType(EXCOMBOBOXLib::SortDateTime);
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutFilterList(EXCOMBOBOXLib::FilterListEnum(EXCOMBOBOXLib::exShowFocusItem | EXCOMBOBOXLib::exShowCheckBox | EXCOMBOBOXLib::exSortItemsDesc));
EXCOMBOBOXLib::IColumnPtr var_Column2 = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Time")));
	var_Column2->PutSortType(EXCOMBOBOXLib::SortTime);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterList(EXCOMBOBOXLib::FilterListEnum(EXCOMBOBOXLib::exShowFocusItem | EXCOMBOBOXLib::exShowCheckBox | EXCOMBOBOXLib::exSortItemsDesc));
	var_Column2->PutFormatColumn(L"time(value)");
EXCOMBOBOXLib::IColumnPtr var_Column3 = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Numeric")));
	var_Column3->PutSortType(EXCOMBOBOXLib::SortNumeric);
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterList(EXCOMBOBOXLib::FilterListEnum(EXCOMBOBOXLib::exShowFocusItem | EXCOMBOBOXLib::exShowCheckBox | EXCOMBOBOXLib::exSortItemsDesc));
EXCOMBOBOXLib::IColumnPtr var_Column4 = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"String")));
	var_Column4->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column4->PutFilterList(EXCOMBOBOXLib::FilterListEnum(EXCOMBOBOXLib::exShowFocusItem | EXCOMBOBOXLib::exShowCheckBox | EXCOMBOBOXLib::exSortItemsDesc));
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem(COleDateTime(2010,1,27,0,00,00).operator DATE());
	var_Items->PutCellCaption(h,long(1),COleDateTime(2010,1,27,10,00,00).operator DATE());
	var_Items->PutCellCaption(h,long(2),var_Items->GetCellCaption(h,long(1)));
	var_Items->PutCellCaption(h,long(3),long(1));
	var_Items->PutCellCaption(h,long(4),var_Items->GetCellCaption(h,long(3)));
	h = var_Items->AddItem(COleDateTime(2011,1,27,0,00,00).operator DATE());
	var_Items->PutCellCaption(h,long(1),COleDateTime(2011,1,27,9,00,00).operator DATE());
	var_Items->PutCellCaption(h,long(2),var_Items->GetCellCaption(h,long(1)));
	var_Items->PutCellCaption(h,long(3),long(11));
	var_Items->PutCellCaption(h,long(4),var_Items->GetCellCaption(h,long(3)));
	h = var_Items->AddItem(COleDateTime(2010,11,2,0,00,00).operator DATE());
	var_Items->PutCellCaption(h,long(1),COleDateTime(2010,11,2,9,00,00).operator DATE());
	var_Items->PutCellCaption(h,long(2),var_Items->GetCellCaption(h,long(1)));
	var_Items->PutCellCaption(h,long(3),long(2));
	var_Items->PutCellCaption(h,long(4),var_Items->GetCellCaption(h,long(3)));
spComboBox1->GetColumns()->GetItem("DateTime")->PutDisplayFilterDate(VARIANT_FALSE);
spComboBox1->EndUpdate();

96
How do I get ride of the rectangle arround focused item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutShowFocusRect(VARIANT_FALSE);
spComboBox1->GetColumns()->Add(L"Column");
spComboBox1->GetItems()->AddItem(long(0));
spComboBox1->GetItems()->AddItem(long(1));

470
How do I get notified once the user changes the Filter For field
// EditChange event - Fired when the user has taken an action that may have altered text in an edit control.
void OnEditChangeComboBox1(long   ColIndex)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'
		#import <ExComboBox.dll>
		using namespace EXCOMBOBOXLib;
	*/
	EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
	OutputDebugStringW( L"ColIndex: " );
	OutputDebugStringW( L"ColIndex" );
	OutputDebugStringW( L"Label: " );
	OutputDebugStringW( spComboBox1->GetEditText(long(0)) );
	OutputDebugStringW( L"FilterFor: " );
	OutputDebugStringW( spComboBox1->GetEditText(long(-1)) );
}

EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutFilterForVisible(VARIANT_TRUE);
spComboBox1->PutFilterForBackColor(RGB(240,240,240));
spComboBox1->PutIntegralHeight(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 4");
	var_Items->AddItem("Item 5");
spComboBox1->EndUpdate();

547
How do I get a list of interfaces the object implemenets

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
spComboBox1->PutColumnAutoResize(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'DAO' for the library: 'Microsoft Office 15.0 Access database engine Object Library'

	#import <ACEDAO.DLL>
*/
DAO::_DBEnginePtr var_PrivDBEngine = ::CreateObject(L"DAO.DBEngine.120");
	DAO::Recordset2Ptr rs = ((DAO::Recordset2Ptr)(var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExComboBox\\Sample\\Access\\sample.accdb",vtMissing,vtMissing,vtMissing)->OpenRecordset(L"Orders",vtMissing,vtMissing,vtMissing)));
OutputDebugStringW( ::CreateObject(L"Exontrol.PropertiesList")->GetInterfaces(rs)->GetInterfaces(rs) );
spComboBox1->PutDataSource(((DAO::Recordset2Ptr)(rs)));
spComboBox1->PutValue(long(10248));
spComboBox1->EndUpdate();

287
How do I find the selected item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetSelectedItem(0),VARIANT_TRUE);

294
How do I find the index of the item based on its handle

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetItemByIndex(var_Items->GetItemToIndex(h)),VARIANT_TRUE);

293
How do I find the handle of the item based on its index

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetItemByIndex(1),VARIANT_TRUE);

297
How do I find an item based on a path

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->PutItemData(var_Items->InsertItem(h,vtMissing,"Child 2"),long(1234));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFindPath(L"Root 1\\Child 1"),VARIANT_TRUE);

296
How do I find an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFindItem("Child 2",long(0),vtMissing),VARIANT_TRUE);

107
How do I filter programatically the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Column")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXCOMBOBOXLib::exPattern);
	var_Column->PutFilter(L"Item*");
spComboBox1->GetItems()->AddItem("Item 1");
spComboBox1->GetItems()->AddItem("");
spComboBox1->GetItems()->AddItem("Item 2");
spComboBox1->ApplyFilter();

63
How do I filter for items that match exactly the specified string

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Column")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXCOMBOBOXLib::exFilter);
	var_Column->PutFilter(L"Item 1");
spComboBox1->GetItems()->AddItem("Item 1");
spComboBox1->GetItems()->AddItem("Item 2");
spComboBox1->GetItems()->AddItem("Item 3");
spComboBox1->ApplyFilter();

234
How do I expand or collapse an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

123
How do I expand automatically the items while user types characters to searching for something ( incremental searching )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutExpandOnSearch(VARIANT_TRUE);
spComboBox1->PutLinesAtRoot(EXCOMBOBOXLib::exLinesAtRoot);
spComboBox1->PutAutoSearch(VARIANT_TRUE);
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Column")))->PutAutoSearch(EXCOMBOBOXLib::exContains);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->InsertItem(var_Items->InsertItem(var_Items->AddItem("text"),vtMissing,"some text"),vtMissing,"another text");
	var_Items->InsertItem(var_Items->InsertItem(var_Items->AddItem("text"),vtMissing,"some text"),vtMissing,"another text");

260
How do I enumerate the visible items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->PutItemBold(var_Items->GetFirstVisibleItem(),VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetNextVisibleItem(var_Items->GetFirstVisibleItem()),VARIANT_TRUE);

259
How do I enumerate the siblings items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->PutItemBold(var_Items->GetNextSiblingItem(var_Items->GetFirstVisibleItem()),VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetPrevSiblingItem(var_Items->GetNextSiblingItem(var_Items->GetFirstVisibleItem())),VARIANT_TRUE);

256
How do I enumerate the root items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"Default");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutItemBold(var_Items->GetRootItem(0),VARIANT_TRUE);
	var_Items->PutItemUnderline(var_Items->GetRootItem(1),VARIANT_TRUE);

40
How do I ensure that the focused item is visible, after the user does the sort

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutEnsureOnSort(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
spComboBox1->PutItems(spComboBox1->GetItems(long(0)),vtMissing);
spComboBox1->GetColumns()->GetItem(long(0))->PutSortOrder(EXCOMBOBOXLib::SortAscending);

108
How do I enlarge the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutFilterBarDropDownHeight("-320");
EXCOMBOBOXLib::IColumnPtr var_Column = ((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Column")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterBarDropDownWidth("-320");
spComboBox1->GetItems()->AddItem("Item 1");
spComboBox1->GetItems()->AddItem("Item 2");

165
How do I enlarge or change the size of the control's scrollbars

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutScrollHeight(18);
spComboBox1->PutScrollWidth(18);
spComboBox1->PutScrollButtonWidth(18);
spComboBox1->PutScrollButtonHeight(18);

112
How do I enable the incremental search feature within a column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutAutoSearch(VARIANT_TRUE);
EXCOMBOBOXLib::IColumnsPtr var_Columns = spComboBox1->GetColumns();
	((EXCOMBOBOXLib::IColumnPtr)(var_Columns->Add(L"exStartWith")))->PutAutoSearch(EXCOMBOBOXLib::exStartWith);
	((EXCOMBOBOXLib::IColumnPtr)(var_Columns->Add(L"exContains")))->PutAutoSearch(EXCOMBOBOXLib::exContains);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("text"),long(1),"another text");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutCellCaption(var_Items1->AddItem("text"),long(1),"another text");

138
How do I enable resizing the columns at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutColumnsAllowSizing(VARIANT_TRUE);
spComboBox1->PutMarkSearchColumn(VARIANT_FALSE);
spComboBox1->PutHeaderVisible(VARIANT_FALSE);
spComboBox1->GetColumns()->Add(L"Column 1");
spComboBox1->GetColumns()->Add(L"Column 2");
spComboBox1->PutDrawGridLines(EXCOMBOBOXLib::exVLines);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item 1"),long(1),"Sub Item 1");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutCellCaption(var_Items1->AddItem("Item 2"),long(1),"Sub Item 2");

351
How do I enable resizing all the items at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutItemsAllowSizing(EXCOMBOBOXLib::exResizeAllItems);
spComboBox1->PutDrawGridLines(EXCOMBOBOXLib::exHLines);
spComboBox1->GetColumns()->Add(L"Column");
spComboBox1->GetItems()->AddItem("Item 1");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutItemHeight(var_Items->AddItem("Item 2"),48);
spComboBox1->GetItems()->AddItem("Item 3");

137
How do I enable resizing ( changing the height ) the items at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->PutItemsAllowSizing(EXCOMBOBOXLib::exResizeItem);
spComboBox1->PutScrollBySingleLine(VARIANT_TRUE);
spComboBox1->GetColumns()->Add(L"Column");
spComboBox1->GetItems()->AddItem("Item 1");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutItemHeight(var_Items->AddItem("Item 2"),48);
spComboBox1->GetItems()->AddItem("Item 3");

180
How do I enable or disable the entire column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"C1");
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Disabled")))->PutEnabled(VARIANT_FALSE);
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem(long(0)),long(1),"0.1");
EXCOMBOBOXLib::IItemsPtr var_Items1 = spComboBox1->GetItems();
	var_Items1->PutCellCaption(var_Items1->AddItem(long(1)),long(1),"1.1");

268
How do I enable or disable a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->GetColumns()->Add(L"C1");
spComboBox1->GetColumns()->Add(L"C2");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Cell 2");
	var_Items->PutCellEnabled(h,long(1),VARIANT_FALSE);

553
How do I display the position of the item with 0-padding

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->BeginUpdate();
((EXCOMBOBOXLib::IColumnPtr)(spComboBox1->GetColumns()->Add(L"Items")))->PutFormatColumn(L"((1 apos ``) lpad `00`) + `. `  + value");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
	var_Items->AddItem("Item D");
spComboBox1->EndUpdate();

349
How do I display the icons being selected in the control's label

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCOMBOBOXLib' for the library: 'ExComboBox 1.0 Control Library'

	#import <ExComboBox.dll>
	using namespace EXCOMBOBOXLib;
*/
EXCOMBOBOXLib::IComboBoxPtr spComboBox1 = GetDlgItem(IDC_COMBOBOX1)->GetControlUnknown();
spComboBox1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spComboBox1->GetColumns()->Add(L"Column");
EXCOMBOBOXLib::IItemsPtr var_Items = spComboBox1->GetItems();
	var_Items->PutCellImage(var_Items->AddItem("Image 1"),long(0),1);
	var_Items->PutCellImage(var_Items->AddItem("Image 2"),long(0),2);
	var_Items->PutCellImage(var_Items->AddItem("Image 3"),long(0),3);
spComboBox1->PutAssignEditImageOnSelect(0,VARIANT_TRUE);
spComboBox1->PutValue("Image 2");